1. Field of the Invention
The present invention relates to telecommunications transmission systems and more particularly to methods for facilitating increased call capacity in a telephony system when faced with an actual or likely surge in demand for use of the system.
2. Description of the Related Art
The invention is particularly useful in the context of internet telephony (also known as voice-over-IP (VoIP) or IP telephony), which should be understood to be a telephone system in which real-time media signals and/or data signals are communicated via a packet switched network such as the Internet, whether between two parties or between multiple parties (in a conference or multicast environment). Internet telephony may also be referred to as packet switched telephony. More generally, however, the invention may extend to use in connection with the communication of any real-time media and/or data signals over any packet switched communications link, including, for instance, IP, ATM, frame relay, X.25 and SNA networks, whether local area, metropolitan area or wide area, and point-to-point or direct end-to-end connections.
Those skilled in the art are familiar with the basic configuration of an internet telephony system. Architectural elements and functions suitable for use in one such system are described, for instance, by the H.323 standard for multimedia transmissions, as published by the International Telecommunications Union (ITU). The entirety of the H.323 standard is hereby incorporated herein by reference. The present invention, however, is not necessarily limited to use in the H.323 configuration but may extend to other configurations or other transmission protocols now known or later developed. For example, and without limitation, another protocol that can support internet telephony is Session Initiation Protocol, or SIP.
In general, an internet telephony system facilitates telephone communication between two or more users over a packet switched, such as an IP network for example. Each user is positioned at a telephone device (hereafter xe2x80x9ctelephonexe2x80x9d), which is generally any communications device capable of communicating real-time media signals such as speech, audio and/or video, for example. By way of example and without limitation, the telephone device may be a conventional analog telephone (e.g., a xe2x80x9cblack box telephonexe2x80x9d), a digital telephone, a videophone, and/or a multi-media personal computer. Each telephone device (and/or telephone number) is then typically served by a network access server, which provides connectivity to the packet switched network. In the context of internet telephony, the network access server may be referred to as an internet telephony gateway (xe2x80x9cITGxe2x80x9d or xe2x80x9cgatewayxe2x80x9d) and is typically owned and operated by an internet telephony service provider (ITSP).
Alternatively, the telephone device itself may provide connectivity with the packet switched network and may serve other gateway-functions as well. Such a telephone device may be referred to as an xe2x80x9cinternet telephonexe2x80x9d and may take any of a variety of forms now known or later developed.
To place a call over a packet switched network via an initiating gateway, a user at an initiating telephone device may establish a connection with the initiating gateway via a suitable communications link such as the public switched telephone network (PSTN) and/or other circuit switched or packet switched network or direct link. The communications link may be a permanent or semi-permanent connection (as in the case of a LAN connection between the telephone device and the gateway), which may facilitate direct dialing. Alternatively, to connect with the gateway, the user may need to place a call to the gateway via the public switched telephone network, such as by dialing a telephone number designated by the user""s ITSP. In any event, the user may specify the telephone number of the called party.
The gateway serves as an interface between the packet switched network and the communications link, and in turn the telephone device. In this regard, for instance, the gateway typically performs translation between protocols, data formats and media types, to facilitate communication of information between two possibly different types of networks or links. For example, a gateway may be configured to receive a real-time media stream from the telephone device via the communications link and to encode (e.g., compress and packetize) the stream into a sequence of packets for transmission over the packet switched network to a remote destination. Similarly, a gateway may be configured to decode (e.g., de-packetize and decompress) data arriving from the packet switched network and to forward the resulting media stream via a communications link to a specified telephone device.
In a packet switched network, the location of each gateway and other element is identified by a network address. Therefore, provided with the telephone number of a called party, the initiating gateway must identify the network address of a terminating gateway that can serve the called number. To identify the network address, the gateway may query an address mapping database or may communicate with another device or process in the internet telephony system to obtain the necessary address based on the dialed number.
Given the network address of the terminating gateway, the initiating gateway may then contact the terminating gateway via the packet switched network and notify the terminating gateway of the desire to establish a connection with the called party. The terminating gateway may then establish an appropriate connection (e.g., over a communications link such as the PSTN) with a telephone device at the called number and notify the initiating gateway that the call can proceed. With the end-to-end connection thus established between the calling and called parties, the parties may then communicate with each other over the packet switched network, sending and receiving various communications signals, such as voice, video, audio and/or data.
In any telephony system, a signaling system must be provided in order to facilitate various functions involved in setting up and conducting calls. By way of example and without limitation, these functions might include monitoring the status of telephone lines to determine whether they are busy, idle or requesting service, establishing caller authorization and accounting, and sending routing and destination information throughout the system such as to alert devices in the system that a call is incoming and to establish an appropriate path of communication.
The signaling system typically provides for communication of signaling messages among elements of the telephony system. The signaling messages are used to convey signaling information such as requests, responses and status information. In addition, the signaling system typically includes a device or process to carry out signaling functions associated with various messages. For purposes of this description, this processing unit may be referred to generally as a xe2x80x9csignaling serverxe2x80x9d or xe2x80x9cgatekeeper.xe2x80x9d In most cases, the signaling sever includes a database system or is configured to access one or more back-end database servers that can be used to facilitate various signaling functions.
In the context of internet telephony, for example, a variety of signaling functions are typically performed to facilitate call setup and communication. In terms of call setup, for instance, these signaling functions may include call authorization (e.g., determining whether the caller""s account is current and valid, such as ensuring that the caller has paid all past bills or verifying a caller""s personal identification number or security code), call accounting (e.g., notifying a billing entity that a call is being placed, in order to enable a service provider to charge for the call), address translation (e.g., identifying a network address of a terminating gateway that can serve the telephone number dialed by the caller) and establishing call connection (e.g., ensuring that a communications path exists between the call participants and that all participants are available). In terms of conducting a call, these signaling functions may include monitoring and adjusting bandwidth and conveying information such as ANI identification (e.g., for call-waiting-caller-ID or three-way calling functionality), for example.
In an exemplary configuration, each gatekeeper may serve a group of one or more gateways. Each gateway may receive call requests representing incoming calls (e.g., from subscribers and/or telephone devices). For each call request that a gateway receives, the gateway may communicate with its respective gatekeeper via one or more signaling messages to determine whether the call is allowed to proceed, to establish appropriate billing for the call, to determine where in the network to send the call, and/or to perform one or more other functions. The gatekeeper must usually consider and respond to each of these requests, and in many cases the gatekeeper must query one or more back-end databases in the process. In turn, the gatekeeper may return one or more response messages to the requesting gateway.
The gatekeeper may also be involved in establishing the call connection and conveying control messages between the gateways that serve participants to the internet telephony call. In this regard, for instance, H.323 defines two different signaling mechanisms for routing call-connection and call-control messages, gatekeeper-routed signaling and direct-routed signaling. In the gatekeeper-routed model, certain call setup and control messages are routed between the participating gateways via one or more gatekeepers that serve the gateways. In the direct-routed model, in contrast, the call setup and control messages are conveyed directly between the gateways that serve the call participants, without the assistance of the gatekeeper(s).
The present invention provides a system (e.g., method, machine and/or apparatus) to facilitate handling of increased call traffic in a packet switched telephony system. The invention stems at least in part from a realization that the signaling system facilitating call-setup, connection and/or other functions, can itself serve as a bottleneck to call admission in high traffic situations. In particular, in some circumstances, the signaling system may become overloaded, and every call request to be admitted to the network may have to wait longer to be served by the signaling system and in turn admitted. As the number of calls approaches the capacity that the signaling system is designed to handle, the call admission process may become unstable. In a worst case, the waiting time per call request may increase exponentially until the point that system can no longer serve call requests.
In some instances, it may be considered unacceptable or even dangerous to block calls from proceeding. For instance, when there is a natural disaster such as an earthquake, hurricane or flood, the importance of serving call requests and connecting some or all calls may be considered paramount. It would therefore be useful to provide a mechanism to facilitate handling more calls when desired.
To alleviate and/or help avoid this signaling bottleneck, we contemplate reducing the load of the signaling system in response to the existence or likelihood of congestion in the internet telephony system (as, for instance, in response to an emergency such as a natural disaster). In one aspect, this reduction may involve streamlining the set-up and/or connection process per call, in order to more quickly admit calls into the network and thereby admit more calls per unit time. In another aspect, this reduction may involve decreasing the amount of signaling more generally in the telephony system, in order to allow the signaling system to more efficiently focus on and handle the admission of calls and thereby admit more calls per unit time.
According to one aspect of a preferred embodiment, a method is provided by which a signaling server in a packet switched telephony system learns of a state of congestion (e.g., the signaling server receives a control signal indicating the situation, and/or detects the situation). In response, the signaling server may change to an emergency mode or congestion mode in which the signaling server may be set to not perform certain back-end server queries that it would otherwise perform, or to otherwise reduce the processing and/or time involved in conducting such queries (e.g., minimizing the queries in some way). Additionally, in the emergency mode, the signaling server may instruct its registered gateways (e.g., via a control signal over the packet switched network) to reduce the number of signaling messages that they send to the signaling server, such as by switching to direct-routing of call-connection and call-control messages and/or by sending fewer admission requests per call request.
According to yet another aspect of a preferred embodiment, for instance, a method is provided by which a gateway or other terminal in a packet switched telephony system learns of an emergency situation and responsively switches to an emergency mode in which it does not send certain signaling messages to the signaling server. For example, where the switch would normally send authorization and accounting requests to the signaling server, the switch might not send those request messages when the switch is in the emergency mode. As another example, the switch may be set in the emergency mode to not send address-mapping requests to the gatekeeper and to optionally limit incoming calls to only a predefined set of emergency numbers such as police and fire department, for instance (thereby avoiding the need to request address translation services from the signaling system).
In accordance with a further aspect of the present invention, a management system may be provided in order to detect a state of congestion (e.g., call congestion and/or signaling congestion) in the internet telephony system. When the management system detects a state of congestion, the management system may signal the state of congestion to one or more entities (devices and/or processes) in the telephony system. The one or more entities may then responsively take action to reduce the signaling workload in the system, thereby allowing the signaling system to serve a higher rate of call requests and to therefore permit a higher rate of call admission.
These and other advantages and features of the present invention will become apparent to those skilled in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings.